package org.jeecg.modules.solitaire_app.app.entity;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Description: 小程序用户表
 * @Author: jeecg-boot
 * @Date:   2023-08-29
 * @Version: V1.0
 */
@Data
@TableName("ysy_users")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="ysy_users对象", description="小程序用户表")
public class YsyUsers {
    
	/**编号*/
	@TableId(type = IdType.ID_WORKER_STR)
    @ApiModelProperty(value = "编号")
	private String id;
	/**头像地址*/
	@Excel(name = "头像地址", width = 15)
    @ApiModelProperty(value = "头像地址")
	private String avatarUrl;
	/**nickName*/
	@Excel(name = "nickName", width = 15)
    @ApiModelProperty(value = "nickName")
	private String nickName;
	/**用户唯一标识*/
	@Excel(name = "用户唯一标识", width = 15)
    @ApiModelProperty(value = "用户唯一标识")
	private String openid;
	/**会话密钥*/
	@Excel(name = "会话密钥", width = 15)
    @ApiModelProperty(value = "会话密钥")
	private String sessionKey;
	/**用户在开放平台的唯一标识符*/
	@Excel(name = "用户在开放平台的唯一标识符", width = 15)
    @ApiModelProperty(value = "用户在开放平台的唯一标识符")
	private String unionid;
	/**注册时间*/
	@Excel(name = "注册时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "注册时间")
	private Date createTime;
	/**上级用户邀请码*/
	@Excel(name = "上级用户邀请码", width = 15)
    @ApiModelProperty(value = "上级用户邀请码")
	private String superiorCode;
	/**邀请码*/
	@Excel(name = "邀请码", width = 15)
    @ApiModelProperty(value = "邀请码")
	private String invitationCode;
	/**用户手机号*/
	@Excel(name = "用户手机号", width = 15)
    @ApiModelProperty(value = "用户手机号")
	private String phone;
	/**身份证号*/
	@Excel(name = "身份证号", width = 15)
    @ApiModelProperty(value = "身份证号")
	private String idCard;
	/**真实姓名*/
	@Excel(name = "真实姓名", width = 15)
    @ApiModelProperty(value = "真实姓名")
	private String realName;
	/**身份证正面*/
	@Excel(name = "身份证正面", width = 15)
    @ApiModelProperty(value = "身份证正面")
	private String frondCard;
	/**身份证反面*/
	@Excel(name = "身份证反面", width = 15)
    @ApiModelProperty(value = "身份证反面")
	private String backCard;
	/**是否入驻驻场端：1-是，0-否*/
	@Excel(name = "是否入驻驻场端：1-是，0-否", width = 15)
    @ApiModelProperty(value = "是否入驻驻场端：1-是，0-否")
	private Integer realFlag;
	/**封禁状态：1-封禁，0-否*/
	@Excel(name = "封禁状态：1-封禁，0-否", width = 15)
    @ApiModelProperty(value = "封禁状态：1-封禁，0-否")
	private Integer delFlag;
	/**是否是会员：1-是，0-否*/
	@Excel(name = "是否是会员：1-是，0-否", width = 15)
    @ApiModelProperty(value = "是否是会员：1-是，0-否")
	private Integer isMember;
	/**会员到期时间*/
	@Excel(name = "会员到期时间", width = 20, format = "yyyy-MM-dd HH:mm:ss")
	@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "会员到期时间")
	private Date expireTime;
	/**折扣*/
	@Excel(name = "折扣", width = 15)
    @ApiModelProperty(value = "折扣")
	private Integer discount;
	/**省份*/
	@Excel(name = "省份", width = 15)
    @ApiModelProperty(value = "省份")
	private String province;
	/**城市*/
	@Excel(name = "城市", width = 15)
    @ApiModelProperty(value = "城市")
	private String city;
	/**区*/
	@Excel(name = "区", width = 15)
    @ApiModelProperty(value = "区")
	private String area;
	/**用户来源：1-客户端，2-主场端，3-司机端*/
	@Excel(name = "用户来源：1-客户端，2-主场端，3-司机端", width = 15)
    @ApiModelProperty(value = "用户来源：1-客户端，2-主场端，3-司机端")
	private Integer source;

	/**封车次数*/
	@Excel(name = "封车次数", width = 15)
	@ApiModelProperty(value = "封车次数")
	private Integer sealCarNum;

	/**封车次数*/
	@Excel(name = "行车轨迹次数", width = 15)
	@ApiModelProperty(value = "行车轨迹次数")
	private Integer drivingTrackNum;

	/**在线状态：1-在线，0-不在线*/
	@Excel(name = "在线状态：1-在线，0-不在线", width = 15)
	@ApiModelProperty(value = "在线状态：1-在线，0-不在线")
	private Integer workFlag;

	/**用户余额*/
	@Excel(name = "用户余额", width = 15)
	@ApiModelProperty(value = "用户余额")
	private BigDecimal balance;

	/**信用分*/
	@Excel(name = "信用分", width = 15)
	@ApiModelProperty(value = "信用分")
	private Integer creditScore;

	/**身份认证状态：0-未认证，1-已认证*/
	@Excel(name = "身份认证状态：0-未认证，1-已认证", width = 15)
	@ApiModelProperty(value = "身份认证状态：0-未认证，1-已认证")
	private Integer authFlag;

	@ApiModelProperty(value = "银行卡卡号")
	private String yhkNum;

	@ApiModelProperty(value = "银行卡开户行")
	private String yhkKhh;

	@ApiModelProperty(value = "银行卡预留手机号")
	private String yhkPhone;

	@ApiModelProperty(value = "银行卡预留姓名")
	private String yhkUserName;
}
